/**
 * @file defs.cpp
 * @author Derek Liu (yjkhtddx@sina.com)
 * @brief 类型定义
 * @version 0.0.1
 * @date 2020-07-16
 * 
 * @coryright Copyright Sci-Tech Laboratories (c) 2020
 * 
 */

#pragma once
#include <memory>
#include <functional>
#include "eXosip2/eXosip.h"

struct sip_event_t;
typedef std::shared_ptr<sip_event_t> sip_event_sptr;
typedef std::function<int(const sip_event_sptr &)> event_proc;

struct sip_event_t
{
    int value;
    const char *name;
    event_proc proc;
    struct eXosip_t *excontext;
    eXosip_event_t *exevent;
    uint64_t id;

    sip_event_t() = default;
};